﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using MySql.Data.MySqlClient;
using System.Text;

namespace DA
{
    public class Links : GO.BaseClass
    {
        public VO.Links objVO;

        public Links()
        {
            objVO = new VO.Links();
            sbSQL = new StringBuilder();
        }

        public void Salvar()
        {
            // MONTA A INSTRUÇÃO SQL
            sbSQL.Append(" INSERT INTO `Links` (Url, idUnidade) ");
            sbSQL.Append(" VALUES('p_Url', p_idUnidade); ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_Url", objVO.Url);
            sbSQL.Replace("p_idUnidade", objVO.IdUnidade.ToString());

            // EXECUTA INSTRUÇÃO
            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);

            // LIMPA VARIÁVEL
            sbSQL.Remove(0, sbSQL.Length);
        }

        public void Atualizar()
        {
            // MONTA A INSTRUÇÃO SQL
            sbSQL.Append(" UPDATE `Links` SET");
            sbSQL.Append("     Url  = 'p_Url'");
            sbSQL.Append(" WHERE ");
            sbSQL.Append(" 	   idLink   = p_idLink  ;        ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_idLink", objVO.IdLink.ToString());
            sbSQL.Replace("p_Url", objVO.Url);

            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);

            sbSQL.Remove(0, sbSQL.Length);
        }

        public void Excluir()
        {
            sbSQL.Append(" DELETE FROM `Links` ");
            sbSQL.Append(" WHERE idLink   = p_idLink  ; ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_idLink", objVO.IdLink.ToString());

            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getTodosRegistros()
        {
            sbSQL.Append(" SELECT * FROM `Links` l ");
            sbSQL.Append(" INNER JOIN `Unidades` u ");
            sbSQL.Append(" ON l.idUnidade = u.idUnidade; ");

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getRegistroById()
        {
            sbSQL.Append(" SELECT * FROM `Links` ");
            sbSQL.Append(" WHERE idLink = p_idLink; ");
            sbSQL.Replace("p_idLink", objVO.IdLink.ToString());

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getRegistroLinks()
        {
            sbSQL.Append(" SELECT * FROM `Links` ");

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getTodosRegistroLinksByUnidade()
        {
            sbSQL.Append(" SELECT * FROM `Links` ");
            sbSQL.Append(" WHERE idUnidade = p_idUnidade ");
            sbSQL.Replace("p_idUnidade", objVO.IdUnidade.ToString());

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }
    }
}
